home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1997 #1 / Amiga Plus CD - 1997 - No. 01.iso / pd / programmierung / tritonblitz / toolmanager1a.bb2 < prev    next >
Text File  |  1996-05-20  |  5KB  |  207 lines

  1. ;/*
  2. ; *  Triton - The object oriented GUI creation system For the AMIGA
  3. ; *  Written by Stefan Zeiger in 1993-1995
  4. ; *
  5. ; *  (c) 1993-1995 by Stefan Zeiger
  6. ; *  You are hereby allowed To Use this source OR parts
  7. ; *  of it For creating programs For AmigaOS which Use the
  8. ; *  Triton GUI creation system. All other rights reserved.
  9. ; *
  10. ; *  Toolmanager1.c - Looks like the original ToolManager
  11. ; *
  12. ; */
  13.  
  14. ; useful Runtime-Error-Routine which closes all windows if a error
  15. ; appears. So you don't need to restart your machine every time :-)
  16.  
  17. NoCli:WBStartup
  18.  
  19. SetErr
  20.  
  21.   ErrFail
  22.   If project.l Then TR_CloseProject_ project
  23.   If application.l Then TR_DeleteApp_ application
  24.   End
  25.  
  26. End SetErr
  27.  
  28. INCLUDE "blitz2:bbincludes/libraries/triton.bb2"
  29.  
  30. NEWTYPE .LVItem
  31.  
  32.   num.w
  33.   text$
  34.  
  35. End NEWTYPE
  36.  
  37. Dim cycle_entries.l(8)
  38. Dim List LVNodes.LVItem(9)
  39.  
  40. InitTagList 1,200
  41. InitTagList 2,10
  42.  
  43. cycle_entries(1)=Null("Exec")
  44. cycle_entries(2)=Null("Image")
  45. cycle_entries(3)=Null("Sound")
  46. cycle_entries(4)=Null("Menu")
  47. cycle_entries(5)=Null("Icon")
  48. cycle_entries(6)=Null("Docs")
  49. cycle_entries(7)=Null("Access")
  50. cycle_entries(8)=0
  51.  
  52. ResetList LVNodes()
  53.  
  54. If AddItem(LVNodes())
  55.   LVNodes()\text="2024View"
  56.   If AddItem(LVNodes())
  57.     LVNodes()\text="Add to archive"
  58.     If AddItem(LVNodes())
  59.       LVNodes()\text="Deletetool"
  60.       If AddItem(LVNodes())
  61.         LVNodes()\text="Edit text"
  62.         If AddItem(LVNodes())
  63.           LVNodes()\text="Env"
  64.           If AddItem(LVNodes())
  65.             LVNodes()\text="Exchange"
  66.             If AddItem(LVNodes())
  67.               LVNodes()\text="Multiview"
  68.             EndIf
  69.           EndIf
  70.         EndIf
  71.       EndIf
  72.     EndIf
  73.   EndIf
  74. EndIf
  75.  
  76. ResetList LVNodes()
  77.  
  78. Use TagList 2
  79.  
  80. AddTags #TRCA_Name,Null("ToolManagerGUIDemo1")
  81. AddTags #TRCA_LongName,Null("ToolManager-GUI Demo 1")
  82. AddTags #TRCA_Info,Null("Looks like the original")
  83. AddTags #TAG_END,0
  84.  
  85. Use TagList 1
  86.  
  87. AddTags !WindowID{1},!WindowPosition{#TRWP_BELOWTITLEBAR}
  88. AddTags !WindowTitle{Null("ToolManager GUI demo 1")},!QuickHelpOn{True}
  89. AddTags !WindowFlags{#TRWF_NOSIZEGADGET OR #TRWF_NODELZIP OR #TRWF_NOZIPGADGET OR #TRWF_NOESCCLOSE}
  90. AddTags !WindowBackfillNone
  91.  
  92. AddTags !VertGroupA
  93. AddTags   !Space
  94. AddTags   !HorizGroupAC
  95. AddTags     !Space
  96. AddTags       !TextID{Null("_Object Type"),1}
  97. AddTags       !Space
  98. AddTags       !CycleGadget{&cycle_entries(1),0,1}
  99. AddTags       !Space
  100. AddTags     !EndGroup
  101. AddTags   !Space
  102.  
  103. AddTags   !HorizGroupAC
  104. AddTags     !Space
  105. AddTags     !VertGroupAC
  106. AddTags       !CenteredTextID{Null("Object List"),2}
  107. AddTags       !Space
  108. AddTags       !ListSSCN{&LVNodes(0)-36,2,0,0}
  109. AddTags     !EndGroup
  110.  
  111. AddTags     !Space
  112. AddTags     !VertGroupA
  113. AddTags       !TextN{Null("")}
  114. AddTags       !Space
  115. AddTags       !Button{Null("Top"),3},!QuickHelp{Null("Move to the top of the list")}
  116. AddTags       !Space
  117. AddTags       !Button{Null("Up"),4},!QuickHelp{Null("Move up one item")}
  118. AddTags       !Space
  119. AddTags       !Button{Null("Down"),5},!QuickHelp{Null("Move down one item")}
  120. AddTags       !Space
  121. AddTags       !Button{Null("Bottom"),6},!QuickHelp{Null("Move to the last item")}
  122. AddTags       !Space
  123. AddTags       !Button{Null("So_rt"),7},!QuickHelp{Null("Sort alphabetically")}
  124. AddTags     !EndGroup
  125. AddTags     !Space
  126. AddTags   !EndGroup
  127. AddTags   !Space
  128. AddTags   !HorizGroupEA
  129. AddTags     !Space
  130. AddTags     !Button{Null("_New..."),8},!QuickHelp{Null("Create new item")}
  131. AddTags     !Space
  132. AddTags     !Button{Null("_Edit..."),9},!QuickHelp{Null("Edit highlited item")}
  133. AddTags     !Space
  134. AddTags     !Button{Null("Co_py"),10},!QuickHelp{Null("Copy highlited item")}
  135. AddTags     !Space
  136. AddTags     !Button{Null("Remove"),11},!QuickHelp{Null("Remove highlited item")}
  137. AddTags     !Space
  138. AddTags   !EndGroup
  139.  
  140. AddTags   !Space
  141. AddTags   !HorizGroupEA
  142. AddTags     !Space
  143. AddTags     !Button{Null("_Save"),12},!QuickHelp{Null("Save list")}
  144. AddTags     !Space
  145. AddTags     !Button{Null("_Use"),13},!QuickHelp{Null("Use list")}
  146. AddTags     !Space
  147. AddTags     !Button{Null("_Test"),14},!QuickHelp{Null("Test list")}
  148. AddTags     !Space
  149. AddTags     !Button{Null("_Cancel"),15},!QuickHelp{Null("Cancel changes")}
  150. AddTags     !Space
  151. AddTags   !EndGroup
  152. AddTags   !Space
  153. AddTags !EndGroup
  154. AddTags #TAG_END,0
  155.  
  156. ; ----------------------------------------------------------------
  157. ;         Here starts the main routine
  158. ; ----------------------------------------------------------------
  159.  
  160. Use TagList 2
  161.  
  162. application.l=TR_CreateApp_(TagList)
  163.  
  164. If (application)
  165.  
  166.   Use TagList 1
  167.  
  168.   project.l=TR_OpenProject_(application,TagList)
  169.  
  170.   If (project)
  171.     user_closed=0
  172.  
  173.       While (user_closed=0)
  174.  
  175.         TR_Wait_ application,0
  176.  
  177.         *trmsg.TR_Message=TR_GetMsg_(application)
  178.  
  179.         While (*trmsg)
  180.  
  181.           If (*trmsg\trm_Project=project)
  182.             Select *trmsg\trm_Class
  183.  
  184.               Case #TRMS_CLOSEWINDOW
  185.                 user_closed=True
  186.               End Select
  187.           EndIf
  188.  
  189.           TR_ReplyMsg_ *trmsg
  190.  
  191.           *trmsg=TR_GetMsg_(application)
  192.         End While
  193.       End While
  194.     TR_CloseProject_ project
  195.   Else
  196.     NPrint "Unable to create the project"
  197.   EndIf
  198.  
  199.     TR_DeleteApp_ application
  200.  
  201. Else
  202.   NPrint "Unable to create application"
  203. EndIf
  204.  
  205. End
  206.  
  207.